(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "Datorprogram till ANACONDA - en teknik för textanalys"

notiser och 
rapporter från 



PEDAGOGISK- 
PSYKOLOGISKA 
INSTITUTIONEN 

LÄRARHÖGSKOLAN 
FACK, 200 45 MALMÖ 23 



pedagogisk- 
psykolog isko 
problem 



Robertsson, L.: 

DATORPROGRAM TILL ANACONDA 
EN TEKNIK FÖR TEXTANALYS 



Nr 317 



April 1977 



DATORPROGRAM TILL ANACONDA - EN TEKNIK FÖR TEXTANALYS 



Leif Roberts son 



Roberts son, L. Datorprogram till ANACONDA - en teknik för textanalys. Pe- 
dagogisk-psykologiska problem , (Malmö: Lärarhögskolan), Nr 317, 1977. 

I denna rapport presenteras en översiktlig beskrivning av de metoder för data- 
maskinell bearbetning som använts för utprövning av ANACONDA ( Anal ys av con - 
cept genom datorbearbetning). Särskild vikt lägges vid det program som utveck- 
lats för identifiering av ord i texten med ord i lexikon. I form av en bilaga redo- 
visas bakgrundsinformation om ANACONDA -metoden. 

Nyckelord: Kvantitativ lingvistik, datorprogram, intervjudata, psykoling vistik. 



1 - 



INNEHÅLL 



Sid 



i . NÅGRA KOMMENTARER 

2. NÅGRA PROGRAMMERINGSTEKNISKA ASPEKTER 

2. 1 Maskinell utrustning 

2. 2 Inläsning av huvudmaterial 

2. 3 Kontroll av materialet 

2.4 Rättning av materialet 

2. 5 Sortering och sorterade utskrifter 

3. FRAMSTÄLLNING OCH BEARBETNING AV ETT SKATT ■ 
NINGSFORMULÄR 



4 
4 

5 

5 
6 



4. PROGRAM FÖR INFORMATIONSSÖKNING OCH -ÅTERVINNING 

4. 1 Lexikon struktur 

4.2 NU - Algol 

4. 3 Binärsökning och begynnelsebigram 

4.4 Hantering av sats strukturer 

4.5 Hantering av satskoder 
4. 6 Utmatning 

4.7 Resursåtgång 

5. BILAGA 

DATORBASERAD INNEHÅLLSANALYS: ANACONDA 



9 
11 
12 
12 
13 
14 
14 



23 



i . NÄGRA KOMMENTARER 



Beteendevetenskaplig forskning kräver inte bara att forskare kan bearbeta och 
analysera data i numerisk form utan också data som föreligger i form av text. 
Olika textmaterial är ofta mycket omfattande, vilket gör att omsorgsfulla, ob- 
jektiva, reliabla och valida analyser blir mycket betungande och tidskrävande 
moment i en forskningsprocess. Men trots såväl många teoretiska som meto- 
diska och tekniska eller praktiska problem utförs nästan inom varje större 
forskningsprojekt innehållsanalyser av textmaterial. 

Betydelsen av en innehållsanalys och de forskningsmetodiska krav som mås- 
te ställas kan naturligtvis variera mycket kraftigt från fall till fall. Vissa forsk- 
ningsproblem lämpar sig till exempel väl för insamling av information i huvud- 
sakligen numerisk form. I sådana fall kan det vara tillräckligt med en impres- 
sionistisk analys av verbala utsagor. Föreligger emellertid ett forskningspro- 
blem som kräver att datainsamlingen sker med hjälp av intervjumetoden så le- 
der detta till huvudsakligen verbala data. I ett sådant fall blir innehållsanalys- 
metoden huvudmetoden för dataanlysen, med betydligt större forskningsmeto- 
diska krav som följd. 

Ett forskningsprojekt, kallat Skolpedagogiska sök strategier (SÖK) som fi- 
nansierats av Skolöverstyrelsen, utfördes i syfto att kartlägga hur forskare på 
Sveriges pedagogiska institutioner ser på (1) problemperceptlon och problem- 
formulering och (2) informationssökning och spridning. Mot bakgrund av pro- 
blemställningen bedömdes intervjumetoden som enda lämplig datainsamlingsme- 
tod. De intervjuer som utfördes med 40 slumpvis valda forskare resulterade i 
4000 sidor text. Materialets karaktär och omfång leade till att vi skulle förseka 
använda oss av datorkraft i våra analysförsck. Med tanke på datorns bearbet- 
ning shastighet, flexibilitet, exakthet, outtröttlighet och tillförlitlighet har vi 
utvecklat ett system för en datorbaserad innehållsanalys. Vår metod för en ana - 
lys av con cept genom datorbearbetning kallar vi ANACONDA. Ett knippe ledtrå- 
dar till ANACONDA -systemet presenteras som bilaga. 

Datorns höga bearbetningshastighet gör det möjligt att stora mängder av ver- 
bala data kan bearbetas. Men en datorbaserad bearbetning av text kräver också 
att algoritmer kan utvecklas och datorprogram kan skrivas som 

1. accepterar den struktur som kännetecknar ett naturligt språk 

2. systematiskt identifierar lingv-istiska tecken och strängar som förekommer 
ensamma eller gemensamma med andra tecken eller strängar i en text 

3. sorterar lingvistiska element 

4. reorganiserar lingvistiska element i överensstämmelse med en viss bestämd 
syntaktisk position 



- 3 - 



5. utför logiska selektioner 

6. räknar frekvenser och skriver ut frekvens statistik i form av matriser. 

Datorns stora flexibilitet innebär att en uppgift kan uttryckas med olika instruk- 
tioner på samma sätt som en och samma tanke kan uttryckas med hjälp av olika 
syntaktiska konstruktioner. Men detta betyder samtidigt också att ett program 
kan vara skrivet med olika krav på "elegans". 

Det program som har utvecklats för utpröyning av ANACONDA har i första 
hand skrivits med syftet att få metoden att fungera och att uppnå tillfredsstäl- 
lande resultat vid bearbetningen av ett empiriskt material. Av detta skäl har 
det varit av underordnad betydelse att åstadkomma generaliserade rutiner och 
den "elegans" som programmeraren skulle önska. 



Bernhard Bierschenk 
Malmö, vt 1977 



2. NÅGRA PROGRAMMERINGSTEKNISKA ASPEKTER 

Programutvecklingen för ANACONDA och den maskinella bearbetningen av inter- 
vjumaterialet har skett vid Lunds Datacentral (LDC). LDC fungerar som ett 
serviceorgan för forskning och utbildning. Genom sina programmerare ger 
den hjälp vid utveckling och skrivning av program. Det programutvecklingsar- 
bete som presenteras i denna rapport har utförts som stödprogrammering. 

2. i Maskinell utrustning 

Den maskinella databehandlingen har utförts med UNIVAC 1108. Centralanlägg- 
ningen innefattar 

1. Centralenhet med 0. 75 ii 

2. 196 000 ord som kärnminne (ordlängd 36 bitar) 

3. Tre kortläsare med läshastigheten 600 kort i minuten vardera 

4. Tre radskrivare med skrivhastigheten 600 kort i minuten, vardera 

5. Snabbradskrivare med kapaciteten 1600 rader i minuten 

6. Skivminne med en minneskapacitet av 600 miljoner tecken 

7. Sex magnetbandstationer 

8. Annan utrustning som ej använts i samband med programutvecklingen för 
ANACONDA 

Datorns arbete kontrolleras av operativsystemet EXEC 8. Användaren kommu- 
nicerar med detta med hjälp av ett styr språk med samma namn. Styr språket 
innehåller bl a direktiv för inläsning, korrektion och kopiering av datafiler på 
olika media. Ett enskilt användarprogram får inte utan särskilda skäl belägga 
mer än ca 62 000 helord i kärnminnet. 

Det finns kompilatorer för bl a Algol och FORTRAN, de högnivåspråk som 
använts i projektet. Programbiblioteket är omfattande. För beteendevetare 
med statistiska tillämpningar finns bl a Statistical package for the social Scien- 
ces (SPSS), Biomedical computer programs (BMD, BMDP) och International 
mathematical and statistical libraries (IMSL). 

2. 2 Inläsning av huvudmaterialet 

Inläsning av det stansade materialet har följt en vanlig procedur. Inläsningen 
initieras av en styr språksinstruktion som stansas på hålkort och läggs främst 
i datamaterialet. Samtliga hålkort matas sedan i en kortläsare och innehållet 
kopieras då till maskinens massminne. På massminnet utgör det nu en datafil, 
som är lagrad på ett standardmässigt sätt i s k SDF -format (System Data For- 
mat). Därmed är det lätt tillgängligt för hantering i styrspråket och olika pro- 



gramspråk. Lagring på massminne är ganska dyrbart och när filen inte skall 
användas för bearbetningar på viss tid kopieras den till magnetband och rade- 
ras ut från massminnet. "Vid förnyad användning kopieras filen sedan tillbaka 
till massminnet. Detta är moment som programmeraren själv får initiera i 
enkla körningar. 

2. 3 Kontroll av materialet 



För ett material av den aktuella storleksordningen (och även mindre) är det 
rimligt att anta att det måste finnas fel i materialet. Fel som innebär brott mot 
givna kodningsregler kan diagnostiseras med hjälp av datamaskinen, om man 
gör ett program som läser datafilen och kontrollerar innehållet i datakorten 
med avseende på sådana regler. Kontroll och rättelser görs ofta i två steg. 
Det första steget kontrollerar att kortordningen är den riktiga för objekt som 
måste beskrivas på flera kort. I vårt fall har ett särskilt program skrivits i 
FORTRAN, som kontrollerar att individerna finns i löpande ordning i -40, frå- 
gorna i löpande ordning 5 -8, meningarna i löpande ordning från t och uppåt 
inom meningarna. En särskild komplikation att ta hänsyn till visade sig vara 
ett par förekomster av icke-numeriska tecken (felstansningar) i kontrollkolum- 
nerna, som fick den första versionen av programmet att spåra ur. 

Programmet gav som resultat en lista med de kort utskrivna vid vilka hopp 
eller dubbla förekomster fanns i den löpande numreringen. Bl a visade det sig 
att för en intervjuperson samtliga data fanns i dubbel upplaga. Utskrifterna 
markerades med kortens ordningsnummer i filen för att underlätta rättningen. 

Efter korrigeringar så att kortens numrering i filen är korrekt, sker det 
andra steget i kontroll- och rättelseproceduren. Då kontrolleras det egentliga 
innehållet i varje kort för sig. I det aktuella fallet gjordes en utskrift av hela 
materialet på radskrivarpapper (ca 600 sidor), och därefter en manuell genom- 
gång. Om innehållet i en textkolumn är fel, så kan detta ofta endast avgöras av 
en person med kännedom om texten. Däremot kunde i efterhand konstateras att 
satskoderna hade bort kontrolleras maskinellt på detta stadium. Vissa fel här 
kvarstod efter genomgången och uppdagades på ett senare stadium, då materia- 
let började att sorteras på olika koder. 

2. 4 Rättning av materialet 

I styrspråket för UNIVAC 1108 finns uttrycksmedel för att från en gammal fil 
skapa en ny, rättad, genom att skriva en följd av rättelsekort som innehåller 
radnummer och en kod för sättet att ändra i raden samt de rättelser som skall 
göras i raden. En eller flera på varandra följande rader kan tas bort eller er- 
sättas med en följd av nya. Nya rader kan läggas in efter en angiven rad. På 



en angiven rad kan en följd av särskilt angivna kolumner ändras. Denna meto- 
dik har använts vid framställning av korrektioner till materialet. Efter inläs- 
ning av korrektionerna har ovan beskrivna kontrollprogram körts på nytt. I 
själva verket har då några fel kvarstått och rättelseproceduren har fått uppre- 
pas. 

2. 5 Sortering och sorterade utskrifter 

I de inledande analyserna av materialet har gjorts utskrifter av flera olika ur- 
val av de enskilda kodade orden. Orden har i utskrifterna varit sorterade på 
olika sätt enligt önskemål. I många av de program som framställs har förut- 
satts att de datafiler som programmet använder är sorterade på ett visst sätt. 
Dessa sorteringar har gjorts med hjälp av ett generellt sorterings- och kon- 
verteringsprogram, TESTST. Detta skrevs åren 1970-72 av Peter Bergh vid 
Lunds Datacentral. UNIVACrs egen programvara för sortering har ansetts som 
mindre flexibel och effektiv. 

Programmet skapar från en angiven fil en ny, sorterad fil. Sorteringsord- 
ningen bestäms av ett antal nycklar i hierarkisk ordning. En nyckel består av 
angivandet av en följd av närliggande kolumner i datakortet. En uppgift som 
man sorterar efter måste således finnas i samma kolumner i varje kort. I vårt 
fall har vi emellertid ibland önskat sortera efter t ex satskoder, som står i 
olika kolumner, beroende på om satsen är huvudsats eller bisats. Då har man 
först fått göra ett enkelt redigeringsprogram som tillfälligt skapar en fil där 
satskoden placerats i en särskild kolumn vid sidan av de egentliga uppgifterna 
i kortet, och sedan har denna fil sorterats. Många liknande små program har 
gjorts under projektets gång och skrivits i Algol eller FORTRAN. 



3. FRAMSTÄLLNING OCH BEARBETNING AV ETT SKATTNINGSFORMULÄR 

Utgångspunkt för framställningen av ett skattningsformulär var en lista med 
adjektiv (N = 570) och en med verb (N = 883). Dessa ord skulle presenteras 16 
bedömare för att skaleras enligt tre olika dimensioner. Med datamaskinens 
hjälp skulle framställas för varje bedömare och dimension en utskrift av orden 
i en ny, slumpmässig ordning. Till höger om ett ord skulle skrivas ut siffer- 
följden 1-7 för att markera den 7-gradiga skattnings skalan. Bedömare skulle 
sedan sätta en ring kring den siffra som markerar hans skattning av ordet. 

Ett program för uppgiften har skrivits i FORTRAN. Programmet är ganska 
kort och utnyttjar ett par standardfunktioner, RANF och QSORT, som inte är 
FORTRAN: s standard men som finns vid Lunds Datacentral. RANF genererar 
rektangulärfördelade slumptal i intervallet (0, i). QSORT sorterar talföljder 
internt i kärnminnet. Programmet arbetar i följande steg: 

1. Läs in en ordlista och lagra i ett fält. Orden förutsätts sorterade i bok- 
stavsordning. (Antal ord = N. ) 

2. Skriv ut en första sida som rubricerar ordlistan och anger ordtyp (adjek- 
tiv/verb), bedömarens nummer, dimension 

3. Bilda en serie av N slumptal och anknyt dem till deras ordningstal 1,2,... 
N som anger den ordning i vilken slumptalen bildades 

4. Ordningstalen sorteras om enligt slumptalens storleksordning och vi får 
då en slumpmässig serie av ordningstal 

5. En ordlista skrivs ut. Det första, ordet hämtas från den placering i ord- 
listan som det första ordningstalet anger, osv 

På varje sida skrivs två kolumner om 30 ord vardera. Varje sida inleds 
med en sex-siffrig sididentitet med ordtyp, kod för dimension och bedö- 
mare samt sidnummer 

6. Följden av ordningstal skrivs ut på massminne för att sparas tills formu- 
lären fyllts i och bearbetats i maskinen. Skattningarna på en sida kan då 
helt enkelt stansas på ett hålkort med sididentitet och 60 inringade tal. 
Datamaskinen "minns" vilket ord som står i ett visst läge på varje sida 

7. Punkt 2-6 upprepas 16 x 3 = 48 gånger 

Ett exempel på programmets arbetssätt redovisas i ruta 1. 

Maskinen hämtar från massminnet uppgiften att den första kodsiffran i steg 
5, nämligen skattning svärdet sex (6), tillhör ordet "sitta", dvs ord nr 3 i den 
ursprungliga listan (se steg 1). Det andra skattning svärdet (5) tillhör ordet "gå", 



- 8 



Ruta 1 . Exempel på en datamaskinen framställning 
och bearbetning av skattningsformulär 



Steg 1: 

N = 5 



Steg 2: 



1. gå 

2. ligga 

3. sitta 

4. springa 

5. stå 



VERB 
Aspekt = i 
Individ = 1 



Steg 5: 

Utskrift 
210101 (sidnr) 

neg 



sitta 

gå 

springa 

ligga 

stå 



2 
2 
2 

2 

2 



3 4 

3 4 

3 4 

® 4 



5 
(5> 

5 

5 



Steg 3: 



0.263 
0.671 
0. 131 
0.444 
0.918 



^ pos 

6 7 

6 7 

6 7 

6 7 



i 
2 
3 
4 
5 



Steg 4 St 6; 



0. 131 
0.263 
0.444 
0.671 
0.918 



sparas i mäss' 
minne 



Inringade siffror anger skatt- 
ningar. Den skattade sidan 
stansas: 
210101 65543 



dvs ord nr 1 i den ursprungliga listan. På detta sätt fortsätter tillordning spro- 
cessen. Ett program har skrivits i FORTRAN som tar hand om alla skattningar. 
Resultatet blir den ursprungliga ordlistan med en kortbild per ord, nu komplet- 
terad med de 15 x 3 skalvärdena (en bedömare utgick) som givits för ordet. 

Skattningar har sedan beskrivits med hjälp av dels egna, mindre program, 
dels program som är tillgängliga i t ex BMDP och SPSS. Ordlistan omformades 
sedan än en gång till att innehålla kortbilder ,med ord, samt ett medelvärde per 
dimension över bedömarnas skattningar. 



4. PROGRAM FÖR INFORMATIONSSÖKNING OCH -ÅTERVINNING 

Det program som nedan skall beskrivas har varit det mest komplicerade en- 
skilda programmet som utvecklats för ANACONDA. Givna har varit tre lexi- 
kon för adjektiv, verb respektive substantiv. En rad i ett lexikon kan innehål- 
la ett ord eller en ordföljd. Ett ord kan vara trunkerat och ett eller flera ord 
i ordföljden kan vara trunkerade. Givna har också varit tre listor med ändel- 
ser för adjektiv, verb och substantiv. Datorns uppgift är nu att identifiera ord 
eller ordföljder som förekommer med viss satskod i huvudregistret med en rad 
i motsvarande lexikon. Om ett ords början stämmer överens med ett trunkerat 
ord i lexikon, så måste fortsättningen av ordet vara en tillåten ändelse för att 
identifikation skall ske. 

4. 1 Lexikon struktur 

En rad i ett lexikon kodades för hålkorts stansning efter följande enkla regler: 

1. Det första ordet börjar i kolumn 1 

2. Trunkering markeras med en asterisk (*) omedelbart efter ordet 

3. Ett ord eller en ordföljd som saknar trunkeringar avslutas med ett blank- 
tecken följt av likhetstecken. (Denna kod är egentligen överflödig. ) 

I ruta 2 presenteras ett exempel på trunkeringsprincipen. 
Ruta 2. Exempel på ord i lexikon 



HÖLL 


MIG TILL = 


VISA* 




VISA* 


SIG 



Trunkerade ord som inte står sist i raden leder till särskilda problem. Des- 
sa innebär bl a att ett lexikon bör presenteras för maskinen med raderna i en 
lämplig sorteringsordning och med orden och trunkeringarna beskrivna i en 
kvantifierad form. Ett första steg efter inläsning var därför att sortera kort- 
bilderna i alfabetisk ordning men så att asterisk och blanktecken kommer före 
alfabetet och särskilt asterisk före blanktecken i sorteringsordningen. Identifie- 
ring av textavsnittet med en rad i lexikonet måste ske genom en systematisk 
genomgång av detta. Proceduren kompliceras av att ett textavsnitt som har en 
motsvarighet i lexikonet kan innehållas i ett annat som också kan identifieras 
där. I detta fall skall det längre avsnittet identifieras med texten. Förhållandet 
beror på att det finns ord i lexikonen som innehålls i andra ordföljder, even- 
tuellt efter att trunkering ersatts med ändelse. Den angivna sorteringsordningen 



10 



innebär att ett ord som innehålls i ett annat kommer före detta. Om det nu görs 
en fullständig genomgång av lexikonet från början till slut så kan det bli flera 
utfall för identitet och det blir då det sista som skall gälla. Ett exempel på ord- 
identifiering presenteras i ruta 3. 



Ruta 3. Exempel på ordidentifiering 



I texten står 




I lexikonet står 


HÅRT PRESSAD 




HÅR* 

HÅRT PRESSA* 


Först identifieras 






HÅRT 


med 


HÄR* 


Därefter 






HART PRESSAD 


med 


HÅRT PRESSA* 



Det senare ordet i lexikonet identifierar textavsnittet. Den i ruta 3 presente- 
rade principen används i identifieringsprogrammet. Proceduren är emellertid 
tidsödande varför vi försökte att utveckla en mera effektiv rutin. Detta skedde 
genom en särskild klassificering av ord. Förekomsten av de trunkerade orden 
medför att den s k binärsökningsmetoden inte utan vidare kan tillämpas som 
alternativ sökprocedur. 

Innan lexikonen läses in i maskinen omkodas de på följande sätt. De två 
första tecknen i raden anger ordföljdens längd fram till och med första trunke- 
rade ord eller till ordföljdens slut. Det tredje tecknet anger med kodsiffran 1 

i-Å ! 'i 

om denna del av ordföljden inte är trunkerad, annars 0. Det fjärde tecknet an- 
ger med kodsiffran 1 om ordföljden fortsätter efter det trunkerade ordet, an- 
nars 0. Från och med det femte tecknet lagras den aktuella delen av ordföljden. 
Om det finns fortsättning, så kommer omedelbart därefter en fyrsiffrig kod, 
som beskriver nästa delordföljd fram till nästa trunkering samt texten. Proce- 
duren kan upprepas så länge det behövs. Proceduren exemplifieras i ruta 4. 

Ruta 4. Exempel på omkodning av ord 



r 



j-4-4-4 



'0 



20 



% 



30 



N 



<0 



'1--- 



1-4-4- 



flöUs 

ttS* 



E 



TO 






NY\TT4 



Ft 



H 



A 



-t-f 



L 



»4 



dMjsÅäz 



b 



OMY 



2*. 



11 - 



Den omkodning som exemplifieras i ruta 4 har utförts med ett separat Algol - 
program. 

4.2 NU - Algol 

Ett informationssökningsprogram har skrivits i den på UNIVAC 1108 fungeran- 
de Algol -versionen NU (Norwegian University) -Algol. Detta språk har som 
kärna Algol -60 men har utvidgats till att omfatta stränghantering (en sträng är 
liktydig med en följd av tecken). Det är denna utvidgning som gjort språket 
användbart i vårt fall. Således har införts en ny typ för variabler: 

"string" (sträng) (1) 

Strängar deklareras med variabelnamn och längd enligt följande exempel: 

string k (84), s (3); (2) 

Det finns också indicerade strängvariabler som deklareras såsom fält av 
strängar av given längd med undre och övre indexgränser angivna. Detta kan 
exemplifieras på följande sätt: 

string array adj (36:1:586); (3) 

I "adj" kan lagras 586 ord om max 36 tecken. Med adj (i) kommer vi åt det 
i -te ordet. 

Med hjälp av programmet kan vi hantera delsträngar genom att ange begynnel- 
seposition och antal tecken i en sträng. Med uttrycket 



k (12,2) 



(4) 



kan vi t ex återvinna tecken nr 12 och nr 13 i sträng k. Med det allmänna ut- 
trycket k (i) kan vi återvinna det enskilda tecknet med nr (i) i sträng k. 

Programmet accepterar strängkonstanter som består av en följd av tecken in- 
neslutna av enkla anföringstecken. Strängar och strängkonstanter kan lagras i 
strängvariabler enligt följande exempel: 

s: = abc'; k (36, 3): = s; adj (500): = s; (5) 

Strängar kan jämföras med varandra med avseende på likhet eller sortering s- 
följd. Detta uttrycks på följande sätt: 

if k (i) = '(' then (6) 

if s > maa' then (7) 

Strängar med rent numeriskt innehåll kan konverteras till och från heltalsva- 
riabler. NU-Algol innefattar möjligheten att anropa separat kompilerade 
FORTRAN-subrutiner. Denna möjlighet har utnyttjats i sökprogrammet i ett 
avseende. NU-Algols egna uttrycksmedel för hantering av massminne sfiler i 



12 - 



SDF -format är primitiva och det har varit bekvämare att dirigera sådan in - 
och utmatning via FORTRAN -subrutiner. 

4. 3 Binär sökning på begynnelsebigram 

Sökprogrammet börjar med att läsa in adjektiv-, verb- och substantivlexikonet 
till kärnminnet. De hämtas från massminnet i den sorterade och omredigerade 
form som beskrivits ovan. Varje lexikon lagras i ett fält av strängar (string 
array). Därmed har det längsta ordet genom manuell kontroll i förväg fått be- 
stämma strängarnas längd, så att adjektiv och verb fått uppta 36 tecken, sub- 
stantiv hela 66 tecken. Vi offrar med detta en del kärnminnesutrymme för an- 
nan bekvämlighet. Med större lexikon kunde kärnminnesutrymmet blivit kri- 
tiskt och lagrings sätte t måst modifieras. Nu upptar själva orden 31 132 hel- 
ord. Verb- och substantivlexikonen upptar över 1 600 ord vardera. 

Den angivna sökmetoden innebär egentligen att samtliga ord i lexikonen 
måste jämföras med det aktuella ordet i texten. Detta skulle leda till orimligt 
långa körtider, och processen måste snabbas upp. Vi har här använt en enkel 
mekanism, som bygger på att inget ord i lexikon trunkeras före det tredje teck- 
net. Ett lexikon kan då anses som uppbyggt av ett antal segment, där orden inom 
ett segment börjar på samma bigram (kombination av två tecken). I inläsnings- 
proceduren har därför lagts in ett moment som skapar en referenslista med en 
följd av variabelpar. Dessa innehåller varje nytt bigram som lästs in samt 
ordningstalet i lexikon för det första ordet som börjar med detta bigram. I 
själva sökprocessen identifieras sedan det aktuella textordets två första bok- 
stäver med ett bigram i referenslistan medelst binärsökning. I referenslistan 
har bigrammet en motsvarande begynnelseadress i lexikon och sökning efter 
det fullständiga ordet kan ske i ett begränsat område. Det visade sig att adjek- 
tiven börjar med ca 180 olika bigram, verben med ca 170 och substantiven med 
ca 240. 

De särskilda ändelseregistren är av mindre omfattning och läses in direkt 
som sorterade kortbilder till vardera ett fält av strängar om 6 tecken. 

4. 4 Hantering av sats strukturer 

Textmängden finns lagrad på massminne. Den största enskilda mängden text 
som behöver bearbetas samtidigt är en mening. Vid bearbetningstillfället häm- 
tas från massminnet en mening åt gången och läses in i kärnminnet. Meningen 
lagras i ett fält av strängar om 84 (80 relevanta) tecken. Fältets längd har 
maximerats till 100 kortbilder. 

En mening består av en huvudsats samt högst fyra bisatser. Satserna iden- 
tifieras på grundval av satskodernas placering i fem olika kolumner till höger 



13 - 



i kortbilderna, och utgör i detta sammanhang logiskt skilda enheter. Därför 
gör programmet fem genomgångar av en mening och hanterar vid varje genom- 
gång rader i texten som markeras i en särskild kolumn för satskod. 

Innan en rad i texten bearbetas flyttas den till ett särskilt buffert-utrymme 
med plats för ca 200 tecken. Det finns flera anledningar till detta. En rad i 
texten kan vara så lång att den finns kompletterad i särskilda fortsättningskort 
och den skarvning som måste företagas i programmet förenklas i ett initialske- 
de. 

Varje sats har i princip högst ett verb. I texten finns ändå ofta flera rader 
i samma sats där satskoden anger verb, och det kan finnas andra rader emel- 
lan. Så är det ofta när verbet består av hjälpverb och huvudverb. Programmet 
sätter samman dessa olika verbkomponenter till en följd av ord med ett blank- 
tecken emellan för att få representationen jämförbar med lexikonen och lag- 
ringen sker i buffert-utrymmet. Det förutsätter då att ordföljden är rak. 

Flyttningen av en rad i texten tar en viss tid i anspråk. I gengäld snabbas 
den egentliga bearbetningen upp genom att enskilda tecken hämtas från en en- 
kel strängvariabel istället för en indicerad sådan. Vid flyttningen beräknas 
också den egentliga textradens längd, en uppgift som används i bearbetningen. 

4. 5 Hantering av satskoder 

Vid identifieringen av en enskild rad i texten används satskoder. I ruta 5 pre- 
senteras jämförelsen av en rad i texten med respektive lexikon. 

Ruta 5. Identifiering av enskilda textrader 



Adjektivlexikon om satskoden är 


32, 52 eller 72 


Verblexikon om satskoden är 


40 


Substantivlexikon om satskoden är 


30, 33,50,53,70,73,44,45,46 



Efter klassificering av rader efter satskod som sker i huvudprogrammet, an- 
ropas en procedur (subrutin) som skall ge det identifierade ordet i lexikon om 
sådant finns och som initieras med information om vilket lexikon och vilka re- 
ferenstabeller som är de aktuella. 

En rad kan leda till flera genomsökningar av lexikon, om den innehåller fle- 
ra enskilda ord. Första sökningen sker med det första ordet som inledning till 
den text som skall identifieras. Om ingen identifiering sker upprepas sökningen 
med nästa ord som inledning till texten. Om identifiering sker startar en ny 
sökning med början från det första ord som inte ingår i det identifierade text- 
avsnittet. Anledningen till detta är att flera identifierbara ord kan finnas i en 



- 14 - 

rad. En konvention har då införts att det sista ordet är det väsentligaste och 
skall vara det som slutgiltigt identifieras. Ett undantag är de supplerade or- 
den. I raden kan finnas ordföljder som inleds och avslutas av vänster- och 
högerparenteser. Dessa sekvenser avbryter den egentliga textföljden och han- 
teras på samma sätt. Supplerade ord som identifieras prioriteras före ord i 
den egentliga texten. Proceduren har således följande uppgifter: 

1. Stegvis prövning av nya textavsnitt i en rad med början i nya ord 

2. Binärsökning i referenstabell efter den aktuella textens inledande bigram 

3. Prövning av samtliga ord i lexikon som börjar på samma bigram 

4. Prioritering av text som ingår i supplering 

Prövning av ett ord i lexikon enligt punkt 3 innebär i sig självt ett ganska om- 
fattande programsteg. Det är här som trunkeringarna måste beaktas. Första 
delen av ett ord i texten måste stämma överens med det trunkerade ordet och 
dessutom måste resten av ordet vara en tillåten ändelse. Vid jämförelse av 
ändeisen med ändelseregistret används också binär sökning. Programsteget 
måste vidare se till att jämförelsen mellan textavsnitt och lexikonord fortsät- 
ter på ett riktigt sätt, när lexikonordet består av nya delord efter ett trunkerat 
delord, dvs delordens exakta adress (fysiska placering) i ordföljderna måste 
kontrolleras och delorden jämföras var för sig. I denna kontroll utnyttjar vi den 
kvantifierade representationen av ord i lexikon, vilken tidigare beskrivits. 

4. 6 Utmatning 

Subrutinen för sökning ger som resultat det identifierade lexikonordets ordnings- 
nummer eller ett meddelande att ingen identifiering kunnat göras. I det första 
fallet skrivs textraden med fullständigt radnummer ut på en massminnesfil till- 
sammans med ordningsnumret. I det andra fallet skrivs textraden ut på en an- 
nan fil, den s k "slaskfilen". Den första filen, som innehåller ca 22 000 rader, 
sparas och används i den fortsatta datormaskinella bearbetningen, där lexikon- 
orden får ersätta textraderna. Slaskfilen skrivs ut på radskrivare för en manuell 
kontroll. 

4. 7 Resursåtgång 

I körningen tas olika delresurser hos datamaskinen i anspråk. Ett totalmått på 
körningens storlek är det pris. som man får betala för körningen. Kostnaden för 
den slutliga körningen av sökprogrammet är ca 900 kronor. En enhetlig körning 
får inte vara väsentligt mycket större i omfattning om den skall få rimlig genom- 
strömning stid och liten risk för att systemfel (med omkörning som följd) uppstår 
under körningens gång. Den stora tidsåtgången beror i hög grad på mångfalden 
av jämförelser mellan ord. 



- 15 - 



Programmet återges på sidorna 16-2 2. Som framgår ur texten finns det 
begränsningar som betingas av det material på vilket ANACONDA har tilläm- 
pats. Dessutom skulle kunna tänkas att ett annat programmeringsspråk kan 
hantera strängar mera effektivt än vad som är möjligt med NU -Algol -kompila- 
torn. Slutligen skall nämnas att vi hoppas kunna tillämpa ANACONDA på nya 
material. På så sätt hoppas vi kunna förbättra programmet och så småningom 
kunna få ett program som är både mera generellt och mera effektivt. 



VRUN LRBB»65917't»LRBB»60»300 

VNUALG»IS HP 

BEGIN 

5TRING 

STRING 

STRING 

STRING 



ARRAY 
ARRAY 
ARRAY 
ARRAY 



ADJ(3b:i:586)»VRB(36:i:l607),SBS(66:i:163«O; 
ADJBEG(2:i:i90)»VRBBEG<2:l:i80>.SBSBEGC2:i:250> J 
ADJEND(6:l :m).VRBEN0(6:i:37)fSB5END(6:i:77)J 

m(ö<*:i:ioo) t 

fni^Fn!» RLGO ' NA ' NV ' NS ' IEOF ' MNR ' MNRO '1'I M AX»J»NVE»JX»TS»KLASS»PKT» 

INTEGER BA»BV»bS> 

INTEGER EA»EV»ES} 

EXTERNAL FORTRAN PROCEDURE LAS» SKREOF» SKRIV» 

STRING R(20tf)»K(ö1)»KS(2)»K25(l)» 

INTEGER ARRAY KV£(i:20)» 

INTEGER ARRAY ADJADR» VRBADR,SBSADRU :300> » 

PROCEDURE RLEX(LU»ORD»OROLöD»NMAX»BIGBEG»RIGADR.BIGMAX) i 

VALUE LU»ORDLGOi 

INTEGER LU»ORDLGD»NMAX»BIGMAX> 

STRING ARRAY ORD.BIGBEG» 

INTEGER ARRAY B1GADR» 

BEGIN 

EXTERNAL FORTRAN PROCEDURE LASLEX» 

STRING KAD(a<f)»BEG0(2)»REG(2){ 

INTEGER N.IEOF; 

INTEGER BIGRAMJ 

N=0» 

BEG0=» • » 

BIGRAM=0» 

n: 

LASLEX(LU»RAD»lEOF>» IF IEOF EuL 1 THEN GO TO L2J 
N=N+1 t 

ORD ( 1 » ORDLGD : N ) =R AD ( 1 » ORDLtoD ) J 

BEG=RA0<5»2) » 

IF BEG NEG. BEGO THEN BEGIN 

BIGRAM=BIGRAM+1J 

BIGADR(BIGRAM)=NI 

B I GBEG ( B I GR AM ) =BEG » 

BEG0=BEG ENDf 

GO.TO Lll 

L2: 

NMAX=N» 

BIGMAX=BIGRAM> 

BIGADR(BIGMAX+1)=NMAX+1 
ENOI 

PROCEDURE REND<ORDEND»NMAX)> 
INTEGER NMAX» 
STRING ARRAY ORDENDI 
HEGIN 



DEKLARATIONER: 

ADJEKTIV-» VERB- RESP SUBSTANTIVLEXIKON. 

BEGYNNELSEBIGRAM FöR ADJEKTIV» VERB RESP SUBSTANTIV. 

ADJEKTIV-» VERB- RESP SUBSTANTIVÄNDELSER. 

LAGRINGSPLATS FöR EN MENING. 

RÄKNARE. 



EXTERNA PROCEDURER I FORTRAN. 
BUFFERTAREOR. 

ADR TILL FÖRSTA LEXIKONORD MED GIVET 8EGYNNELSEBIGRAM. 

PROCEDUR RLEX: 

INLÄSNING AV ETT LEXIKON. UPPBYGGNAD AV TARELLE* MED 

BEGYNNELSER IGRAM OCH MOTSVARANDE ADRESSER I LEXIKON. 



i 



PROCEDUR RENDt 

INLÄSNING AV ETT ÄNDELSELEXIKON. 



[ 



INTEGER M» 
STRING AEN0(6) I 
N=OS 

Li: 

READ<«A»S6»»AENUrL2) J 

N=N+1» 

ORDEND(N)=AENDS 

60 TO ull 

L2: 

NMAX=NJ 

END» 

PROCEOURE LAGTXT(lrTS) ; INrtGER I»TS? 

begin integer -j»tant5 
li: 

J=655 

L2: 

IF M(J;I) EQL • ' THEN BEGIN J=u-1» 

IF J GTR 26 THEN 60 TO L2 ENDJ 

TANT=J-26+l» 

r{ts»tant)=m(26»tant:i) { 
ts=ts+tant; 

IF I Ntul IWIAX AND M(9»2:l) EOL Nil9»2:l + 1) THEN 
BEGIN 1=1+1* R(TS)=» '? TS=TS+1J GO TO LI END 

ENDJ 

PROCEOURE SOEK(öRD»BIGADR»öIGBLG»BIGMAX»ORDENt>#ENDMAX»PKT) J 

VALUE BI6MAX»EN0MAX? 

INTE6ER BIGMAX»PKT» 

INTEGER ENOMAX* 

STRING ARRAY ORU»BIGBEGS 

INTEGER ARRAY BlGADRJ 

STRING ARRAY ORDENO» 

BEGIN 

INTEGER J»MIN,MAX»LIM»JFRJ 

INTEGER VPIX»VPPKT{ 

INTEGER IXLGD» 

STRING T(l>» 

PROCEOURE TEST(IX)» VALUE IX» INTEGER IX» 

BEGIN INTEGER M»I»A»L> 

STRING AEND(6){ 

INTE6ER K »Kö» 

INTEGER LIM»MIN»MAXJ 

A=l» 

I=JI 

Li: 

M=0R0(A#2:IX)» 

L=IF M+I LEQ RLGD+1 THEN M ELSE RLGD+I-Il 

A=A+**> 

JFR=IF R(I»L> EQL 0RD(A »L:IX) THEM O ELSE IF R(I»L) LSS 0R0(A 



PROCEDUR LAGTXT: 

LAGRA OROENHET I BUFFERTEN R S* ATT FORTSäTTNINGSRAOfR 

KOMMER MED. 



i 



PROCEDUR SOEK: 

I PROCEDUREN AVGÖRES OM BUFFERTEN R 

I ETT GIVET LEXIKON. 



INNEHÅLLER FTT ORO 



»l:Ix> 



PROCEDUR TEST (SUBRUTIN TILL PROCEDUR SOEK): 
PROCEDUREN JÄMFÖR TEXTEN I R FP.O.M. KOL. J MED ORO 
NUMMER IX I LEXIKON. 



A = AKTUELL STARTKOLUMN I LEXIKONORD. 

I = AKTUELL STARTKOLUMN FöR TEXTAVSNITT. 

JÄMFÖRELSE AV NYTT DELORD I LEXIKONORDET MED TEXTEN: 

M = LÄNGD PA AKTUELLT DELORD I LEXIKONORO. 

L r ANTAL TECKEN SOM JäMFöRES. 

JFR = JÄMFÖRELSENS UTFALL. 0=LIKHET. -1»+1=0LIKHET. 



THi£M 8EGIN JFR=-1S GO TO Lf END? 
THEN GO TO fil 

THEN BEGIN JFR=-lt GO TO L4 END» 
THEN GO TO L<H 



GO TO L<+ end; 



THEN -1 ELSE +1» 

IF JFR EQL THEN KB=I+L-15 

IF JFR EQL AND 0RD(A-2:IX) EQL THEN BEGIN 

IF KB EQL RLGD THEN GO TO UU 

K=0» AEND=* ' f 

L3: !<B=KB+l! IF KB LEO RLGD THEN BEGIN 

T=R(KB)I IF T NEQ « ' AND T NEW »<« AND T NEQ 

K=K+1» 

IF K LEO 6 THEN BEGIN AENO(K)=TJ GO TO L3 END ELSE 

BEGIN JFR=-1J 60 TO L*t END 

END 

END> 

KB=KB-If 

if k eql o then go to l<+ * 
min=i; 

MAX=ENQMAXf 

IF AEND LSS ORDtND(MIN) 
IF AEND EQL ORUEND(MIN) 
IF AEND GTR ORUEND(MAX) 
IF AEND EöL ORDLND(MAX) 

ls: 

IF MlN+i EQL MAX THEN dEGlN JFR=-15 
LIM=(MrN+MAX,>//2* 

IF AEND EQL ORDEND(LIM) THEN GO TO L*i ELSE 

IF AEND LSS ORDtND(LIM) THEN MAX=LIM ELSE MIN=LIMS 

GO TO L5J 

END» 

L^: 

IF JFR EQL O AND 0HD(A-1:IX) EQL 1 

I=I+MJ 

L2 J 

IF I LSS RLGD THEN BEGIN 

t=r ( i ) ; 

IF T EQL »(» OR T EQL •)♦ THEN BEGIN JFRr-U 

IF T NEQ » « THEN BEGIN 1 = 1 + 1 i GO TO L2 END; 

1=1+1* A=A+Mi GO TO L1J 

ENDf 

END I 

IF JFR EQL O 

IF JFR EQL O 

T=R<I+L>? IF 

IF JFR EQL O 

L6: 

END» 

J=26l 

VPIX=0> 

PKT=Ö? VPPKT=OJ 

Li: IF J GTR RLGD THEN GO TO L5J 

T=R(J>» 

IF T EQL « • THEN BEGIN J=J+U GO TO Ll END* 



•)• THEN BEGIN 



THEN BEGIN 



GO TO L6 END ELSE 



AND M+I GTR RLGO+1 THEN JFR=-lJ 

AND 0RD(A-2#l:IX) EQL 1 AND I+L NEQ RLGD+1 THEN BEGIN 
T NEQ ♦ • AND T NEQ '(» AND T NEQ ' >♦ THEN JFR=-1 END» 
THEN IXLGD=KBf 



KB = STARTKOLUMN FÖR EV. ÄNDELSE I TEXTEN. 

OM LIKHET HITTILLS GÄLLER OCH DELORDET" I LEXIKON ÄR 

TRUNKERAT SÄ TAGES ÄNDELSEN I TEXTEN UT OCH LAGRAS I 

AEND. 



finn ändelse i ändelsere6istpet som är lika med aend. 
metod: binär sökning. 



OM AEND EJ FINNS I ÄNDELSERE6ISTRET SÄTTS JFR=-1 . 



co 



OM LIKHET HITTILLS GÄLLER OCH LEXIKONORDET FORTSÄTTER 
MED NYTT DELORD INITIERAS JÄMFÖRELSE AV DETTA MFD 
FORTSÄTTNING I TEXTEN OCH ÅTERHOPP TILL Ll. 



OM LIKHET HITTILLS GÄLLER SÄTTS OLIKHET OM SISTA ORDET 
I TEXTRADEN ÄR KORTARE ÄN DET ORD SOM DET JÄMFÖRTS MED 
ELLER OM SISTA ORDET I LEXIKONORDET EJ ÄR TRUNKERAT 
OCH KORTARE ÄN DET ORD SOM DET JÄMFÖRTS MED. 
IXL6D = SLUTKOLUMN FÖR DET IDENTIFIERADE TEXTAVSNITTET. 



PROCEDUREN SOEK STARTAR. J = STARTKOLUMN FöR JÄMFÖRELSEN. 
VPIX = ANGER OM TEXTDELEN ÄR INOM PARENTES ELLER EJ. 
VPPKT= ANGER OM REDAN IDENTIFIERAT ORD ÄR INOM PARENTES. 
IDENTIFIERING AV TEXTDEL SOM INLEDS MED NYTT ORD BÖRJAR. 



•(« THEN BE6IN J=J+U VPIX=1> 60 TO Ll ENDJ 



EQL 
STR 
EQL 



BIGBEG(MIN) 
BIGBEG(MIN) 
BIGBEG(MAX) 
BIGBEG(MAX) 



THEN 
THEN 
THEN 
THEN 



THEN 
THEN 



GO TO 
BEGIN 
GO TO 
BEGIN 



L4I 

LIMrMlN» 

L4I 

LIMzMAXS 



GO TO L3 ENOI 
GO TO L3 END i 



GO TO L3 ELSE 
MAX=LIM ELSE MIN=LIMJ 



IF T EQL 

MIN=ii 

MAX=BI6MAXJ 

IF R(J»2) LSS 

IF R(J»2) 

IF R(J»2> 

IF R(J»2) 

L2: 

IF MIN+1 EQL MAX THEN GO TO L4> 

LIM=(MIN+MAX)//2; 

IF R(J»2) EQL BIGBEG(LIM) 

IF R(J»2) LSS öIGBEG(LIM) 

GO TO L2; 

L3: 

MIN=BIGADR(LIM) i MAX=BIGADrt (LIi»i+l )-l t 

FOR LIM=(MIN»1»MX) DO BEGIN 

TEST(LIM)» 

IF JFR EQL O THEN BEGIN 

IF NOT (VPPKT EQL 1 AND VPIX EUL 0) THEN BEGIN PKT=LIMJ VPPKT=VPIX 

EMD ENDJ 

IF PKT NEQ O AND J LSS IXLGD THEN J=IXLGD> 

L4: J=J+1J IF J GTR RLGD THEN öO TO L5J 

T=R(J); IF T NEQ « • AND T NEQ •(• AND T NEQ ♦)« THEN GO TO L4f 

IF T EQL •(♦ THEN VPIX=1 ELSE IF T EQL •)• THEN VPIX=05 

J=J+1J GO TQ Llf 

L5: 

ENOf 



FINN SEGMENT I LEXIKON DÄR ORDEN BÖRJAR MED SAMMA TV* 
BOKSTÄVER (BIGRAM) SOM TEXTDELEN. METOD: BINÄR SÖKNING 
I BIGRAM-TABELL. 



MIN = STARTADRESS I SEGMENTET. MAX = SLUTADRESS. 
JÄMFÖR ORD EFTER ORD I SEGMENTET MED TEXTDELEN. 

JFR = O OM TEXTDELEN IDENTIFIERATS MED LEXIKONORDET. 
ENp DET IDENTIFIERADE ORDETS NUMMER ANGES I PKT SAVTDA INTE 
ETT TIDIGARE IDENTIFIERAT ORD INOM PARENTES PRIORITERAS. 
INITIERING AV JÄMFÖRELSE AV NÄSTA TEXTAVSNITT I R 
OCH ÅTERHOPP TILL Ll OM RADEN INTE ÄR SLUT. 



i 



PROCEDURE UTFALL(QRDfPKT) J VALUE PKT} STRING ARRAY ORD? INTEGER PKT» 

BEGIN 

INTEGER A»M5 

FOR TS=<RLGD+l»i»80> DO R(TS>=' »I 

R(81)=JS R(82)=» »» 

R(83)=KLASSJ 

WRITE(C0RE(R(84»4))»«I4»A1»»PKT) i 

TS=88» 

A=l> 

Ll: 

M=0RD(A»2.*PKT) i 

A=A+4I 

R(TSrM)=ORD(A»M:PKT) t 

IF 0RD(A-2:PKT) EQL O 

IF 0RDU-1JPKT) NEQ O 

GO TO Ll END» 

L2: IF TS LEQ 120 THEN BEGIN R(TS)=» '» TS=TS+ll GO TO L2 ENDl 

SKRIV (LU1»R» 20) 

END» 



PROCEDUR UTFALL: 

UTSKRIFT AV POST P* MASSMINNESFIL FÖR TEXTRAD SOM 

IDENTIFIERATS I LEXIKON. INNEHALL: 

"I KOL 1-23: TEXTRADENS IDENTIFIERARE 

24-25: SATSKOD 

26-80: TEXTEN! EV. AVKORTAD) 

81:HUVUDSATS-BISATS-NUMMER (1-5) 

83:KLASS (ADJEKTIV» VERB ELLER SUBSTANTIV) 

84-87 LEXIKONORDETS IDENTIFIERARE 

88-120 LEXIKONORDET I KLARTEXT. 



TS=TS+M» 
THEN BEGIN 
THEN BEGIN 



R(TS)=»*»J TS=TS+1 ENDl 
A=A+M» R(TS)=» '» TS=TS+1* 



PROCEDURE EJUTF* 

8EGIN 

FOR TS=(RLGD+1#1,6<0 

SKRIV(LU2»R»1«0 

ENDJ 



DO R(TS)=' '» 



RLEX(11»ADJ»36>NA»ADJ8EG»AUJADR»BA) t 
WR I TE ( • AD J-B I GRAM= • t BA ) i 

RLEX(12»VRB»36»NV»VRS8EG»VRBADR»BV); 
RLEX(13»SBS»66»NS#SBSBEG»SöSADR»BS) i 



REND(AOJ£ND#EA) 

REND(VRBEND»EV); 

RENO(SBSENDfES) J 

LU1=9I 

LU2=1<+; 

LAS(K»IEOF)5 IF 

go to slut endj 
lo: 

MNR0=K<1»8) i 
1=0; 

Li: 

1=1+1» M(I)=KS 
LAS(K»IEOFJl> IF 
MNR=M1»8) i 

IF MNR EQL NiNRO 
L2: 

IMAX=lJ 

FOR J=(l,l»b) 00 ÖEGIN 

NV£=OJ 

JX=66+(U-1)*3J 

for i = u,1»imax) 
ks=m(jx»2:d; if 
if ks eql »<*0» then 

K25=M(25:i)f IF K25 



WR I TE (»ANTAL 
WRITE( »ANTAL 
WRITE( 'ANTAL 



WRITEf 'VRB-BIGRAM=« ,BV) ; 
WRITE( 'SBS-RIGRAM=» ,BS) t 



ADJEKTIVÄNDELSER= 
VERBÄNO£LSER= 
SUBSTANT1VXNDELSER=» ,ÉS> » 



»>EA)J 
•#EV) J 



IEOF EQL 1 THEN BEGIN WRITECFEL. INGA INDATA») 



IEOF EQL l THEN GO TO L2f 
THEN GO TO L1J 



DO 
KS 



BEGIN 
EQL • 

BEGIN 
EQL » 



* THEN GO TO L3J 



• OR 

LND 



K25 EQL »1» THEN BEGIN 



OR KS EQL '72» 
EQL '50' OR KS 
EQL '<H' 



NVE=NVE+1> RV£(NVE)=I END 

ELSE BEGIN 

KLASS=IF KS EQL »32» OR KS EQL '52' 

IF KS EQL '30' OR KS EQL »33» OR KS 

KS EQL '70' OR KS EQL '73' OR KS 

KS EQL '46' THEN 3 ELSE OJ 
IF KLASS NEQ THEN BEGIN 
RU»23)=MU»23:I) > R(2<*»2)=KS> 
TS=26J LAGTXT(I»TS)J RLGD=TS-l; 
IF KLASS EQL 1 THEN BEGIN 
SOEK ( ADJ # AO JADR t AD JBEG t BA » AD JEND » EA » PKT ) J 

ll/r^ T NEQ ° THEN UTFALL (AQJ, PKT) ELSE EJUTF END FLSE 
BEGIN ■ 

SOEK (SBS*SBS ADR fS85BEG*BSfSBSEND»ES» PKT )J 
IF PKT NEQ THEN UTFALL (S8S» PKT) ELSE EJUTF 



THEN 1 ELSE 

EQL '53' OR 

OR KS EQL »45' OR 



PROCEDUR EJUTF t 

UTSKRIFT AV POST PA MASSMINNESFIL FÖR TEXTRAD SOM 
EJ IDENTIFIERATS I LEXIKON'. INWEHALL ÄR. LIKA MED 
KOL 1-80 OVAN. 

HUVUDPROGRAMMET BÖRJAR: 

T^o^n 6 .^ ADJ EKTIV-, VERB-* SUBSTANTIVLFXIKON. RILDA 
TABELLER MFD DE OLIKA BEGYNNFLSEBIGRAM SOM FINNS» SAMT 
ADRESSER TILL MOTSVARANDE FöPSTA ORD I LEXIKON. 
INLÄSNING AV ÄNDELSER. 



^Je J rf? NA FÖR J 0ENTIFIERADE RESP EJ IDENTIFIERADE ORD 

GES SINA ENHETSNUMMER. 

INITIERING AV LÄSNING AV TEXTFILEN'. 

INLÄSNING AV EN MENING I TEXTFILEN. 



o 



END 



EFTER HAND GENOMGÅNG AV HUVUDSATS OCH FYRA BISATSER: 

EFTER HAND GENOMGÅNG AV ALLA RADER I MENINGEN: 

OM SATSKODFN = *0(VERB)» ÖKA RÄKNAREN NVE MED 1 
OCH REGISTER A RADENS NUMMER I FÄLTET RVE» 



REGISTRERA ANNARS OM RADEN KLASSIFICERATS SOM ADJEKTIV 
ELLER SUBSTANTIV. 



OM RADEN ÄR ADJEKTIV ELLER SUBSTANTIV SA LAGRA DESS 
IDENTITETSBEGREPP I BUFFERTEN R: KOL 1-23» SATSKOD I 
KOL 2t-25 OCH TEXTEN FR.O.M. KOL 26. TEXT P* FORTSÄTT- 
NINGSRAD MEDTAGES. SLUTKOLUMNEN LAGRAS I RLGD. 
TEXTRADEN JäMFöRES MED ADJEKTIV- RESP. SUBSTANTIV- 
LEXIKON I PROCEDUREN SOEK. OM ETT MOTSVARANDE LEXIKON- 
ORD FINNS LAGRAS DESS NUMMER I PKT SOM ANNARS BLIR 0. 
UTFALLET REGISTRERAS PA FILEN FÖR ÅTERVUNNA ORD FLLER 
SLASKFILEN. 



END> 

L3: 

END 5 

IF NVE NEG THEN BEGIN 

I=RVE(1)> 

R(1»23)=M(1»23:I)J R(2<+»2) = "*0«> 

TS=26* LAGTXT(I»TS) i 

FOR JX=(2»1»NVE) 00 BEGIN 

R(TS)=» »5 TS=TS+1> 

I=RtfE(JX)J LAGTXTtI»TS) ENu» 

RLGO=TS-i; 

KLASS=2J 

SOEK ( VRB » VRBAOR » VRBBEG » BV t tfRBEND » EV t PKT ) J 

IF PKT NEG O ThtN UTFALL (VRB »PKT ) ELSE EJUTF END» 

END? 

if ieof egl o then go to lo; 

skre0f(lu1»lu2) j 

slut: 

END 
VF0R»IS SI 

SUBROUTINE SKRIV <LU»R»N) 

DIMENSION R(34) 

*lRlTE(LU»101XR(I) »I=1»N) 
101 F0RMAT(2QA6) 

RETURN 

END 
vFOR»IS S2 

SUBROUTINE SKRE0F(LU1»LU2) 

END FILÉ LU1 

END FILÉ LU2 

RETURN 

END 
VFORrlS S3 

SUBROUTINE LAS(K»IEOF) 

DIMENSION Kdt! 

READ(8»101»END=1)K 
101 F0RMAT(13A6»A2) 

IEOF=0 

RETURN 
1 IE0F=1 

RETURN 

END 
vFOR»IS S«t 

SUBROUTINE LASLEX(LU» RAD» IEOF) 

DIMENSION RAD (It) 

READ(LUfl01»END=l)RAD 
101 FORMAT (13A6»A2> 

IEOF=0 

RETURN 
1 IE0F=1 



OM VERB FINNS I SATSEN SA SKER EN LAGRING I BUFFERTEN 
R. OM FLERA VERB FINNS SA KOMBINERAS DE TILL EN ORD- 
ENHET I R. 



VERBET JÄMFöRES MED VERBLE*IKOM. 



ÅTERHOPP TILL LÄSNING AV NY MENING. 
EOF-MÄRKE SäTTS PA UTFILERNA. 



FORTRAN-SUBRUTIN: SKRIVER EN RAD PA 120 TECKEN. 



N 



FORTRAN-SUBRUTIN: SÄTTER EOF-HXRKE PA TVÄ FILER. 



FORTRAN-SUBRUTIN*. LÄSER EN KORTBILD FRÄN ENHET 8. 



FORTRAN-SUBRUTIN*. LÄSER EN KORTBILD FRÄN ENHET LU. 



RETURN 
END 

VASG»AX IPOi-40 

VUSE 8.IP01-40 

vDELETEtC ATERVUNN. 

VASG»U ATERVUNN#F«*0///512 

VUSE 9» ATERVUNN 

vASG>U SLASK-ORD 

VUSE lf» SLASK -ORD 
VASGfAX TRUNK-A 
VASGrAX TRUNK-V 
VASG.AX SUBST-LEX 
VUSE HfTRUNK-M 
VUSE 12» TRUNK-V 
VUSE l^fSUBST-LtX 
VASG»A ADJEND 
VASG»A VRBEND 
VASG»A SBSEND 
VXUT 

VADD ADJEND^ 
VEOF 

VADD VkBEtMD. 
VEOF 

VADD SöSEND. 
VEOF 

VDATA»L SLASK-OKD 
VEND 
LINES; 32Ö 



TILLORDNING AV HUVUDFILEN MED TEXT'. 

FILEN GES ALTERNATIVT NAMN FBR HANTERING I FORTRAN. 

TILLORDNING AV SKRIV-FIL FÖR mENTIFlERADE ORD. 

TILLORDNING AV SKRIVFIL FöR EJ IDENTIFIERADE ORD. 

TILLORDNING AV ADJEKTIV-LEXIKON. 
TILLORDNING AV VERB-LEXIKON. 
TILLORDNING AV SUBSTANTIVLEXIKON. 



TILLORDNING AV ADJEKTIV-ÄNOELSFR. 

TILLORDNING AV VERB-ÄNDELSFR. 

TILLORDNING AV SUBSTANTIV-ÄNDFI SER. 

STARTA KÖRMING AV PROGRAMMFT. 

FILERNA MED ÄNnELSER LÄGGS IM SOM KORTBILDER EFTER 

VXQT-KORTET Så ATT DE I ALGOL -PROGRAMMET LOGISKT 

LÄSES FRÄN KORTLÄSAREN. 



KONTROLLUTSKRIFT AV FILEN SLASK-ORD EFTER KöRNING. 



ro 



V FIN 



- 23 - 



5. BILAGA 



DATORBASERAD INNEHÅLLSANALYS: ANACONDA 



5.1 
5.2 
5.3 
5.4 
5.5 



Problemställning 

Innehålls- och kontextorienterade teorier 

Guide till metodutvecklingen 

Numerisk beskrivning och kvantitativa analyser 

Referenser till ANACONDA 



- 24 



5. BILAGA 

DATORBASERAD INNEHÅLLSANALYS: ANACONDA 

Inom beteendevetenskaplig forskning har använts och används många olika inne- 
hållsanalystekniker, vilket innebär att beteendévetare kan anses vara väl för- 
trogna med såväl de teoretiska som de metodiska och tekniska eller praktiska 
problem som användningen av klassiska innehållsanalystekniker medför. En 
vetenskapligt genomförd innehållsanalys innebär att forskaren, oberoende av 
ett visst bestämt resultat, måste kunna redogöra för den valda metodens reli- 
abilitet och validitet. En omsorgsfull, objektiv, reliabel och valid analys av 
text är emellertid mycket tidskrävande, och omfattande textanalyser kräver 
utveckling av mekaniserade eller automatiserade rutiner. I och med att datorer 
kan användas för ihågkommande och logisk selektion, hoppas vi kunna utveckla 
en datorbaserad innehållsanalysmetod som kännetecknas av större objektivitet 
och flexibilitet än vad som är fallet hos de klassiska innehållsanalysteknikerna. 

Syftet med den här översikten är (1) att underlätta för läsaren förståelsen 
av vår metod för en anal ys av con cept genom datorbearbetning (ANACONDA) 
och (2) att presentera ledtrådar, som vi hoppas ska ge en tillräckligt bra bild 
av de enskilda stegen i den kumulativa processen att utveckla en teori och en 
metod för att studera komplexa psykologiska fenomen, som t ex att meddela 
sig via symboler. 

5« i Problemställning 

Att utveckla idéer, formulera och lösa problem är beteenden som är intimt för- 
knippade med människans specifika förmåga "att uttrycka sig verbalt. Försök att 
explorera och studera inte bara problemlösningsbeteenden utan även de komplexa 
psykologiska processerna bakom sådana beteenden sker inte bara inom psykolo- 
gin utan sedan ett 20-tal år tillbaka inom flera andra vetenskapsgrenar, t ex ma- 
tematik, artificiell intelligens, informationsbehandling och kvantitativ lingvistik. 
Det som förenar forskningsinsatserna inom de olika disciplinerna är målsätt- 
ningen att utröna och göra synliga osynliga symboliska processer och mekanis- 
mer. Istället för att med hjälp av enkla matematiska formler försöka beskriva 
sådana kognitiva operationer, försöker forskare inom de nämnda områdena att 
utveckla datorprogram för att beskriva dessa och testa modeller och teorier om 
hur komplexa psykologiska strukturer ser ut och hur processer utvecklar sig. 

5. 2 Innehålls- och kontextorienterade teorier 

Syftet med att försöka utveckla en teori om innebörden i meddelanden som män- 
niskor kommunicerar sinsemellan är att öka vår förståelse av de kognitiva struk- 



- 25 - 

turer som antas ligga till grund för människans verbala uttryck. Genom att 
steg för steg utveckla och kontinuerligt utpröva våra antaganden försöker vi be- 
stämma deras hållbarhet. Den fråga som vi har ställt oss är denna: 

KAN VI MED HJÄLP AV NUMERISK ANALYS OCH GENOM 
KVANTITATIV BESTÄMNING IDENTIFIERA OCH KATEGO- 
RISERA KOGNITIVA STRUKTURER I VERBALA DATA, T EX 
INTERVJUTEXTER? 

Mot bakgrund av de sista årens vetenskapliga debatt om processforskning och 
de påtagliga begränsningar som olika skattnings scheman som datainsamlings - 
metod har, borde ett framgångsrikt genomförande av den uppgift vi angripit va- 
ra ett betydelsefullt bidrag till de forskningsmetoder som står till buds för sam- 
hällsvetare. 

5. 3 Guide Ull metodutvecklingen 

Generellt om metod och modell. Skriven eller talad text kännetecknas av stor 
komplexitet och av att den typ av information som skall utvinnas ur ett material 
sällan eller aldrig är samlad på ett enda ställe i texten. Om strukturella rela- 
tioner ändå skall kunna framträda krävs det att man preparerar texten på basis 
av vissa grundantaganden. I Bierschenk & Bierschenk (1976) presenteras ett flö- 
desschema som anger de enskilda stegen i utvecklingen av den metod för dator- 
baserad innehållsanalys som vi föreslår. Dessutom presenteras den psykoling- 
vistiska modell som ligger till grund för vår analystext. 

Nedan presenterar de olika faserna i kronologisk ordning. 

Grundmaterial. Vi har avgränsat vårt empiriska material till att tills vidare 
gälla "Informationssökning, dokumentation och forskningsplanering för skolans 
F&U -arbete". Uppläggningen och genomförandet av en intervjustudie kring detta 
redovisas i B. Bierschenk (1974 a). I denna rapport utvärderas också skattnings- 
skalor som intervjupersonerna konfronterades med under intervjun. 

Impressionistisk analys. Ett sätt att utvärdera intervjutexter är att använda en 
impressionistisk innehållsanalys. Den bygger på intuition, inlevelse och intryck, 
som innebär att tolkningen bygger pä subjektivt funna analysresultat. En sådan 
analys föreligger i Annerblom (1974). 

Datorbaserad analys. En modeli för sökning efter information i intervjutexter, 
en kortfattad beskrivning av preliminära kodningsregler och några empiriska 
resultat från utprövning av manuell tilldelning av koder på intervjutext presen- 
teras i B. Bierschenk (1974 b). 

Konstruktion av ett regelsystem. Förutsättningarna för att redan utvecklade me- 
toder skall kunna tillämpas är ofta knutna till materialets utseende. De analys - 
försök som redovisats i litteraturen och som är av intresse för vår analys är 
utvecklade med skriven text som bas. Men eftersom vårt material är talspråks - 
text (utskriven från ljudband) som när den yttrades endast var avsedd för en 
person, intervjuaren, blev det nödvändigt att bygga upp ett eget system av reg- 
ler och koder. En preliminärmanual och några utprövning sresultat presenteras 
i I. Bierschenk (1974). 

Tillförlitlighet i manuell kodning. Genom begreppet "datorbaserad innehållsana- 



-7f 



lys" vill vi markera att vi inte avser att utveckla en metod för automatisk text- 
analys. Detta betyder samtidigt att grundmaterialet först måste kodas innan 
maskinella bearbetningar av olika slag kan ta vid. Med vilken framgång två av 
varandra oberoende kodare har kunnat tillämpa olika kodningsregler på ett lik- 
artat sätt redovisas i Berg (1974). 

Representation av manifesta språks trukturer. Datorbaserad innehållsanalys 
börjar bli mer och mer använt och användbart internationellt. Kravet på pro- 
gram och tekniker som är avpassade för olika problemområden gör sig mer och 
mer gällande. Den teori för språklig representation som vi funnit mest intres- 
sant för vår analys är Schank's "Conceptual Dependency Theory". Vi kom i kon- 
takt med den efter att våra första kodningsregler utarbetats, och vi fann att 
den ligger i linje med vårt sätt att behandla texten för input i dator. På vilket 
sätt inmatning sker, hur identifikation specificeras i kodningen och på vilket 
sätt vi bygger upp vår lexikoribas redovisas i I. Bierschenk (1975). 

Teoretiska och psykometriska problem. Att försöka kartlägga vad som i forsk- 
ning slitteratur en egentligen menas med en innehållsanalys är mycket svårt. Till 
grund för varje innehållsanaiysteknik ligger nämligen ett specifikt sätt att betrak- 
ta innehållet i ett meddelande. En innehållsanalys förutsätter att vi kan definiera 
analysens mätobjekt, dvs det som skall mätas och räknas. Analysens enhet i vår 
psykolingvistiska modell går tillbaka på det välkända paradigmet Agent-aktion- 
Objekt (mål). Komponenterna definieras kortfattat nedan: 

^^?ly£ e i?LE?-i^iS^B * vAgftnt. Aktion scentrum eller mål sökande entitet som an- 
vänder sig av resurser för att realisera sina mål. Denna definition innefattar 
också grupper, organisationer eller abstraktioner som fyller funktionen av att 
vara agent. 2. Aktion. En riktad handling som utförs av en agent i syfte att 
realisera mål. Handlingen definierar innebörden i AaO -paradigmet. 3. Objekt. 
Allt som en handling kan vara riktad mot eller utföras med. 

Genom AaO-paradigmet avgränsas de komponenter som utgör ett naturligt sam- 
manhang, dvs en observerbar sats. Med detta avses den grundläggande formen 
för ett påstående som uttrycks genom substantiv, -verb- substantiv» -relationen. 

Medan agent och objekt (substantiv) specificeras genom attribut (adjektivfraser), 
anges genom verbet relationen, meilan substantiven, dvs handlingar, händelser 
eller tillstånd. Ordningen mellan dessa grundelement anges genom syntax. Ge- 
nom ett lexikon och ett regelsystem hoppas vi kunna konstruera teorier och mo- 
deller som kan användas för att beskriva händelser. 

Med hjälp av de lingvistiska element som finns i flödes schemat i figur i skall vi 
visa dels hur vi bygger upp concept i en given kontext, dels på vilket sätt vi av- 
ser att numeriskt beskriva texten och göra kvantitativa analyser. Hur vi utnytt- 
jar dessa möjligheter beskrivs i B. Bierschenk (1976). 

5. 4 Numerisk beskrivning och kvantitativa analyser 

Att bygga upp concept i en given kontext förutsätter ett regelsystem som anger 
hur olika element skall kopplas med varandra och i vilken ordning detta skall 
ske. Vi antar t ex att de relationer som finns mellan substantiv och adjektiv och 
mellan substantiv och verb återspeglar sådana relationer som kopplar empiris- 
ka fenomen med varandra. Om vi t ex vill ange att en uppsättning substantiv mo- 
difieras av en uppsättning adjektiv så kan vi formalisera denna relation. 

Vidare antar vi att substantiv får sitt empiriska innehåll genom adjektiv 
och/eller verb som de är kopplade med. Genom att skalera adjektiv och verb 







1 1 

1 ■" 1 

1 _-J 

r- A «i 

i 52 ! 


■* n* w m w> o». 

61 J 

mi ■■» ■■» *m «■« «r 

62 | 

In* ■*• «mjw te* aJl 


EG» -bb» inst tn SM» «B 

1 7i i 
i ' ' i 

1 79 | 
1 '" 1 

Era NiMLM an «JE 


81 

1 uo 1 
1 "^ 1 
1 1 

4 




80 



I3Zj 



• ej i 

L* «n* < w» *•» m*. «J 




M 

i 



il 


Informationskälla 


21 


Interrogation 


12 


Negation 


22 


Antagande 


13 


Tid 


23 


önskan 


14 


Modalitet 


30 


Agent 


15 


Villkor 


31 


Bestämning 


16 


Orsak 


32 


Beskrivning 


17 


Medgivande 


33 


Klassificering 


18 


Avsikt 


40 


Händelse/tillstånd 


19 


Disjunktion 


41 


Kopula 


20 


Komparation 


42 


Satsmodifierare 



4 3 Tidsbestämning 

44 Platsbestämning 

45 Handlings-/ 
tillståndsmodifierare 

46 Omständighet 

50 Objekt 

51 Bestämning 

52 Beskrivning 

53 Klassificering 

60 Riktning/lokalisering 



6 i Bestämning 

62 Beskrivning 

63 Klassificering 

70 Mottagare 

71 Bestämning 

7 2 Beskrivning 

7 3 Klassificering 

80 Instrument 

81 Bestämning 

82 Beskrivning 

8 3 Klassificering 



Fi g ur *.■ Programflödesplan för en analys av text och uppbyggande av concept 



28 - 



kan vi åstadkomma numeriska beskrivningar och kvantitativa analyser av text. 
När vi på så sätt har observerat likheter eller kovariationer och definierat oli- 
ka egenskaper, kan vi utföra multivariata analyser för att bestämma positionen 
av en bestämd egenskap i ett antal latenta dimensioner. 

Nu övergår vi till att presentera enskilda analyser utifrån den kodstruktur 
som anges i figur 1. 

Koderna (32, 52, 72 och 40). Eftersom vi i vår analys tar hänsyn till "syntaktiskt 
beteende" och betraktar både adjektiv och verb som beskrivande concept, har vi 
valt att skalera dessa. Adjektiv beskriver ett substantiv direkt, medan verben 
mera indirekt har samma funktion. 

Skaleringen skedde med hjälp av sjugradiga skattnings skalor, vars bipolära änd- 
punkter beskrivs av adjektivparen (i) positiv-negativ, (2) aktiv -passiv och (3) 
stark- svag. En detaljerad redovisning av detta finns i. B. Bierschenk (1976) och 
Bierschenk & Bierschenk (1976). 

Kodrelation (30-40-50/70). En strategi för att övervinna de begränsningar som 
komplexa intervjutexter och stora datamängder medför är att bryta ned dessa i 
block av hanterlig storleksordning. Baserat på enkla numeriska beskrivningar 
av AaO -relationen har de enskilda dataelementen kondenserats. De logiska rela- 
tioner sorn existerar mellan koderna 30-40-50(70) har utnyttjats för att ge objek- 
ten en empirisk bestämning, dvs de omvandlas till concept. På basis av en grund- 
struktur studeras sedan dimensionaliteten med hjälp av en di skriminan tanalys. 
Dessa steg i metodutvecklingen beskrivs i detalj i B. Bierschenk (1976 b). 

Koderna 32, 52, 72. Eftersom vi antar att adjektiv beskriver substantiven genom 
deras värde på en skattnings skala, har vi studerat de adverb som modifierar res- 
pektive adjektiv. Syftet med denna studie var att utveckla en princip för hur ad- 
verben skulle kunna skaleras. En principdiskussion kring adverbens tänjande 
funktion förs i I. Bierschenk (1977). 

5 - 5 Referenser till ANACONDA 

Annerblom, M-L. En impressionistisk innehållsanalys av intervjuer med forska- 
re på pedagogiska instituiione..r i Sverige. Pedagogisk-psykologiska problem 
Nr 255, 1974. 

Berg, M. Reliabilitetsprövning av en metod för innehållsanalys av intervjutext. 
Testkonstruktion och testdata, Nr 26, 1974. 

Bierschenk, B. Perception, strukturering och precisering av pedagogiska och 
psykologiska forskningsproblem på pedagogiska institutioner i Sverige. Pe- 
dagogisk-psykologiska problem, Ne 254, 1974 (a). 

Bierschenk, B. A cornpu ter -based content analysis of interview data: Some pro- 
blems in the construction and application of coding rules. Didakometry, No. 
45, 1974. (b) 

Bierschenk, B. Teoretiska och psykometriska problem vid en datorbaserad ana- 
lys av intervju text. Pedagogisk-psykologiska problem, Nr 287, 1976. 

Bierschenk, B. En datorbaserad innehållsanalys av intervjutext: Numerisk be- 
skrivning och multivariat analys. Pedagogisk-psykologiska problem, Nr 307, 
1976 (b). 

Bierschenk, B. & Bierschenk, I. A s ystem for a computer -based content analy 

is of inter view data. (Studia Ps^chologica et Paedagogica, 32. ) Lund: Glee- 
rup^ iWfZ". 






29 



Bierschenk, I. Konstruktion av ett regelsystem för en datorbaserad innehållsana- 
lys av intervju text: Preliminärmanual och några utprövningsresultat. Test- 
konstruktion och testdata, Nr 25, 1974. 

Bierschenk, I. Datorbaserad innehållsanalys: Teoretiska och praktiska övervä- 
ganden. Pedagogisk -psykologiska problem, Nr 283, 1975. 

Bierschenk, I. En studie av modifierande ords kontextuella funktion: En princip- 
diskussion och några kvantifie ringsförsök. Pedagogisk -psykologi ska problem, 
Nr 314, 1977. a C 



ISSN 0346-5004